Durch die Kommentierung des Quellcodes wird die Lesbarkeit und Teamwork erleichtert und man kann die Gedankengänge hinter den Algorithmen dokumentieren.
Das, was in einem Kommentar steht, wird vom Programm später ignoriert, das heißt, man kann alles schreiben, was man möchte, ohne eine bestimmte Syntax befolgen zu müssen.
Kommentare werden durch folgende Zeichenketten ein-/ausgeleitet:
Typ | Java | JS |
---|---|---|
einzeilliger Kommentar | // ... |
// ... |
mehrzeilliger Kommentar | /* |
/* |
JavaDocs | /** |
z.B.
Diese Wörter sind in einer Sprache bereits vordefiniert, man darf sie also z.B. nicht als Variablennamen verwenden. In Java sind einige dieser:
abstract boolean break byte catch case char class const continue default do double if else extends implements import instanceof long native new package private protected public return short static super switch synchronized this throw throws transient try void volatile while
Hier noch einige für C:
auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
In Java gibt es folgende primitiven Datentypen:
Typ | Bits | Hinweis |
---|---|---|
boolean | 1 | Wahrheitswert, entweder wahr oder falsch (true / false ) |
byte | 8 | -128 ... 0 ... 127 |
char | 16 | 0 ... 65535; wird i.d.R. für einzelne Zeichen verwendet |
short | 16 | -215 ... 215 - 1; kleine Ganzzahlen |
int | 32 | -231 ... 231 - 1; Ganzzahlen |
long | 64 | -263 ... 263 - 1; sehr große Ganzzahlen (z.B. Millisekunden seit Unix Epoch) |
float | 32 | Fließkommazahlen |
double | 64 | Genauere Fließkommazahlen |
'Primitiv' oder 'Einfach' bedeutet, dass sie nicht weiter in andere Datentypen unterteilbar sind, so wie es Objekte, die von Klassen erzeugt wurden, sind.
Ihnen ist ein konkreter Wert zugeordnet und nicht weitere Referenzen auf andere Objekte oder primitive Daten.
Man kann erkennen, dass es sich um einen primitiven Datentyp handelt, indem man auf den ersten Buchstaben des Typs schaut: Nur wenn dieser klein geschrieben
ist, ist es ein primitiver Typ (z.B. int). So ist z.B. ein String (also ein Text) ein Objekt einer Klasse und kein primitiver Typ.
Eine Variable (oder Konstante) ist nichts anderes als eine Schublade, die im Hauptspeicher liegt und Werte enthalten kann.
Um die benötigte 'Schubladengröße' zu bestimmen verwendet das Programm den zugeordneten Datentyp: z.B. int, char (siehe Tabelle oben).
Variablen haben einen Namen, den man vor der Verwendung festlegen muss. Dieser Name muss gewissen Kriterien entsprechen, doch dazu später mehr.
Der Unterschied zwischen Variablen und Konstanten:
Variablen | Konstanten |
---|---|
Es können beliebig oft neue Werte zugeordnet werden | Ihnen wird ein einziges mal ein Wert zugeordnet |
Es kann schreibend und lesend zugegriffen werden | Es kann nur lesend zugegriffen werden |
DatenTyp variablenName; |
final static DatenTyp VARIABLEN_NAME = wert; |
Also, um eine Variable zu initialisieren (zu definieren), muss man in Java einfach den Datentyp und dann den Namen der Variable schreiben:
Allgemein: DatenTyp VariablenName;
Beispiel: String einText;
Wenn es sich um eine Konstante handelt, muss man zudem noch final
und static
als Schlüsselwörter hinzufügen.
Wichtig ist, dass man diese Variablen und Konstanten vor dem ersten Lesezugriff erst einmal beschreiben muss, ansonsten weiß das Programm nicht, was für einen
Wert die Variable hat und wirft einen Fehler und das Programm wird gestoppt.
Wie sollte man seine Variablen benennen?
An diese Regeln muss man sich bei der Benennung halten:
$
oder _
, danach können beliebige Buchstaben, Ziffern $
und _
folgen$
oder _
$
und _
folgenAlso:
Variablen | Konstanten | |
---|---|---|
Erlaubt | t123 , ichBinEineVariable , ein_text |
IST_VORHANDEN , INPUT_TEMPLATE , kannManSollteManAberNicht |
Verboten | groß/klein , 1test , LDF-NR |
HMMM... , ICH_BIN_TOLL_&_SO |
Doch wie setzt man den Wert einer Variable? Sagen wir, wir haben folgende integer Variable (= Ganzzahl) deklariert:
int meinWert;
Um den Wert der Variable zu setzen, muss man lediglich den Variablenname, ein =
und den zuzuordnenden Wert hintereinander schreiben:
meinWert = 12;
Doch man kann nicht einfach nur einen Wert zuordnen, sondern auch das Ergebnis eines ganzen Ausdrucks:
Zunächst werden also die Werte der Variablen anzahl
und gewicht
aus dem Speicher geladen, multipliziert und das Ergebnis der Variable gesamtGewicht
zugeordnet.
Doch was gibt es für Operationen, mit denen wir die Ausdrücke erstellen können? Es gibt für unterschiedliche Datentypen auch unterschiedliche Operationen.
Diese hier liefern einen boolean zurück, also true
oder false
:
Operator | Erklärung | Beispiel |
---|---|---|
== |
Gleichheit | 12 == 45 → false |
!= |
Ungleichheit | 33 != 89 → true |
&& |
logisches UND |
true && true → true |
|| |
logisches ODER |
true || false → true |
> |
Größer | 23 > 5 → true |
< |
Kleiner | 23 < 5 → false |
<= |
Kleiner gleich | 23 <= 5 → false |
>= |
Größer gleich | 23 >= 23 → true |
Für Rechenoperationen mit Ganzzahlen oder Fließkommazahlen gibt es diese hier:
Operator | Erklärung | Beispiel | |
---|---|---|---|
Arithmetische | + |
Addition | 7 + 9 = 16 |
- |
Subtraktion | 20 - 5 = 15 |
|
* |
Multiplikation | 10 * 70 = 700 |
|
/ |
Division | 15 / 3 = 5 |
|
% |
Modulo (Divisionsrest) | 12 % 5 = 2 |
|
Unäre | - |
Negation | -10 |
~ |
Bitweise Komplement | ~10010 = 01101 |
|
++ |
Inkrement | a++ = a + 1 |
|
-- |
Dekrement | a-- = a - 1 |
Höhere Sprachen wie Java können beliebig komplexe Ausdrücke dieser Art richtig auflösen und befolgen Klammer-vor-Punkt-vor-Strich.
int a = (34 * 3 + 6 / 2) % 6;
→ a = 3
Frage 1
Was für primitive Datentypen gibt es in Java?
Frage 2
Lesend und/oder schreibend: Wie kann auf eine Variable/Konstante zugegriffen werden?
Frage 3
Wie erstellt man in Java einen Blockkommentar?
Frage 4
Was sind die Regeln, wie man eine Variable/Konstante benennen darf?
Frage 5
Denk dir 5 gültige Variablennamen und 5 gültige Konstantennamen aus!
Frage 6
Bestimme: (2 == 7) || (3 != 0)
und (8 > 7) && ((77 % 10) == 5)
Frage 7
Was ist der Unterschied zwischen Deklarieren und Initialisieren?
Frage 8
Initialisiere eine Kommazahl-Variable x
und setze ihren Wert auf das dreifache von k